Cisco Router OSPF Design and Implementation Guide William Parkhurst, PhD, CCIE $54.95 0-07-048626-3 |
![]() ![]() |
Chapter: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
Reserve your copy at a Beta Bookstore near you! |
Contact Bet@books © 1998 The McGraw-Hill Companies, Inc. All rights reserved. Any use of this Beta Book is subject to the rules stated in the Terms of Use. |
The Enhanced Interior Gateway Routing Protocol (EIGRP) is a Cisco proprietary routing protocol based on the IGRP routing protocol. EIGRP uses the Diffusing Update Algorithm (DUAL) which was created at SRI International. EIGRP enhances IGRP (hence the name) by including many new features. EIGRP has a faster convergence time than IGRP because EIGRP stores the routing tables from all neighbors allowing EIGRP to select alternate routes in case of a route failure. Support for VLSM and route summarization has been included to overcome the problems we have seen with RIP and IGRP. RIP and IGRP periodically transmit their entire routing tables even when there have been no changes since the previous routing update. EIGRP only sends updates when information for a route changes and then only sends the information for the changed route, significantly reducing the utilized bandwidth. RIP and IGRP have no knowledge of their neighbors so routing updates are sent and received as broadcasts. EIGRP uses a neighbor discovery mechanism to determine the existence of neighboring routers. The discovery process is enabled through the use of a hello protocol. This allows EIGRP to reliably send and receive routing updates by exchanging acknowledgements with its neighbors. Finally, since EIGRP maintains the routing tables of its neighbors loop-free paths can be determined which is a significant improvement over RIP and IGRP. These features are supported through the use of multiple packets types for inter-router communication. Hello packets are used not only for neighbor discovery but also as an acknowledgment. A hello packet with no data is considered an acknowledgement. Update packets are used to transmit routing information reliably. Update packets are sent as unicast packets to neighbors or as multicast packets when a change to the routing information occurs. Sending packet as unicast or multicast reduces the number of packets that non-routing hosts on the network need to process.
EIGRP
The network of figure 10.1 will be used to demonstrate the various configuration commands possible with EIGRP.
Router r1 Configuration Router r2 Configuration
hostname r1 hostname r2
enable password cisco enable password cisco
interface Loopback0 interface Loopback0
ip address 172.16.1.1 255.255.255.0 ip address 172.16.4.1 255.255.255.0
interface Loopback1 interface Loopback1
ip address 172.16.2.1 255.255.255.0 ip address 172.16.5.1 255.255.255.0
interface Ethernet0 interface Ethernet0
ip address 172.16.3.1 255.255.255.0 ip address 172.16.3.2 255.255.255.0
As you can see in Figure 10.1 we only need one physical interface on each router. The other networks in the examples that follow will be simulated using loopback interfaces. The first step in configuring EIGRP is to start the EIGRP routing process. This is accomplished by entering configuration mode and enabling the EIGRP process.
r1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
r1(config)#router eigrp ?
<1-65535> Autonomous system number
r1(config-router)#router eigrp 100
r1(config-router)#^Z
The EIGRP routing process must be assigned an autonomous system number in the range 1 65535. This should actually be called a routing process number since this number does not have to match your autonomous system number. Multiple EIGRP routing processes can be running on the same router but only processes with the same number will exchange routing updates. As with IGRP, EIGRP needs to know which networks to advertise. For r1, we want to advertise networks 172.16.1.0, 172.16.2.0, and 172.16.3.0. The network command is used to inform EIGRP which networks to advertise in the routing updates.
r1(config-router)#network 172.16.1.0
r1(config-router)#network 172.16.2.0
r1(config-router)#network 172.16.3.0
r1(config-router)#^Z
At this point, list the current router configuration to see how we have configured the basic EIGRP routing process.
router eigrp 100
network 172.16.0.0
Why does the configuration show only one network command when we entered three? As with RIP and IGRP, the network command only accepts major network numbers. Since all of r1s attached networks belong to the class B network 172.16.0.0, these are the networks that EIGRP will advertise. The network command also determines which interfaces will send and receive EIGRP routing updates. Since all of our networks belong to 172.16.0.0 EIGRP will send and receive updates on all the interfaces. The configuration on r2 will be identical to the configuration of r1.
r2(config)#router eigrp 100
r2(config-router)#network 172.16.0.0
r2(config-router)#^Z
How many routes will EIGRP advertise is this situation, one or three? Like RIP v1 and IGRP, EIGRP will only advertise all three attached sub-networks because all attached networks are included in the major network 172.16.0.0. To determine if r1 and r2 are exchanging routing updates use the command show IP route on routers r1 and r2.
r1#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
U - per-user static route
Gateway of last resort is not set
172.16.0.0/16 is subnetted, 5 subnets
D 172.16.4.0 [90/156160] via 172.16.3.2, 00:13:21, Ethernet0
D 172.16.5.0 [90/156160] via 172.16.3.2, 00:13:21, Ethernet0
C 172.16.1.0 is directly connected, Loopback0
C 172.16.2.0 is directly connected, Loopback1
C 172.16.3.0 is directly connected, Ethernet0
r2#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
U - per-user static route
Gateway of last resort is not set
172.16.0.0/16 is subnetted, 5 subnets
C 172.16.4.0 is directly connected, Loopback0
C 172.16.5.0 is directly connected, Loopback1
D 172.16.1.0 [90/156160] via 172.16.3.1, 00:14:25, Ethernet0
D 172.16.2.0 [90/156160] via 172.16.3.1, 00:14:25, Ethernet0
C 172.16.3.0 is directly connected, Ethernet0
Notice that r1 and r2 have three directly connected routes and two routes that have been learned from EIGRP. Each entry in the routing table contains the following information:
This is the minimum configuration required to enable EIGRP. The IP routing table contains the information necessary for each router to determine how to route a packet to a destination network. For the connected networks the router needs only to forward a packet destined for a host on the network out the directly connected interface. For packets destined for a network not on a directly connected interface the router must determine which interface should be used to forward the packet.
What happens if the subnet masks are not identical? Assume that the two networks on r1, Ethernet 0 and Ethernet 1, will have no more than 14 hosts each. We can use VLSM to sub-subnet network 172.16.1.0 into two networks using a 28-bit subnet mask as shown in figure 10.2.
Router r1 configuration changes
interface Loopback0
ip address 172.16.1.17 255.255.255.240
interface Loopback 1
ip address 172.16.1.33 255.255.255.240
How will this affect the EIGRP updates? If we examine the routing table for r2 we see that the new sub-subnetted routes do appear long with their associated subnet mask.
r2#show ip route
172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
D 172.16.1.32/28 [90/156160] via 172.16.3.1, 00:00:01, FastEthernet0/0
D 172.16.1.16/28 [90/156160] via 172.16.3.1, 00:00:01, FastEthernet0/0
C 172.16.4.0/24 is directly connected, Loopback0
C 172.16.5.0/24 is directly connected, Loopback1
C 172.16.3.0/24 is directly connected, FastEthernet0/0
EIGRP carries subnet mask information in the routing updates so R1 will advertise networks 172.16.1.16 and 172.16.1.32 out network 172.16.3.0. For this example the major network number is 172.16.0.0. What if these sub-subnetted networks use a different major subnet number, 173.16.0.0, as shown in figure 10.3?
Router r1 configuration changes
interface Loopback0
ip address 173.16.1.17 255.255.255.240
interface Loopback 1
ip address 173.16.1.33 255.255.255.240
router eigrp 100
network 172.16.0.0
network 173.16.0.0
r2# clear ip route *
r2#show ip route
172.16.0.0/16 is subnetted, 3 subnets
C 172.16.4.0 is directly connected, Loopback0
C 172.16.5.0 is directly connected, Loopback1
C 172.16.3.0 is directly connected, Ethernet0
D 173.16.0.0/16 [90/156160] via 172.16.3.1, 00:00:18, Ethernet0
Notice that r1 is advertising network 173.16.0.0 enabling r2 to be able to reach the two 173.16 networks on r1. The subnet mask is different that the mask used for the 172.16 network, but since EIGRP transmits subnet information the routes will be advertised. Also notice that EIGRP automatically summarizes the network 173.16.0.0. What happens if we assign networks for the sub-subnetted network 173.16.0.0 on r2 (Figure 10.4).
Router r2 configuration changes
interface Loopback0
ip address 173.16.1.49 255.255.255.240
interface Loopback 1
ip address 173.16.1.65 255.255.255.240
router eigrp 100
network 172.16.0.0
network 173.16.0.0
The routing table for r2 now contains
r2#clear ip route *
r2#show ip route
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
D 172.16.0.0/16 is a summary, 00:00:03, Null0
C 172.16.3.0/24 is directly connected, Ethernet0
173.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
C 173.16.1.48/28 is directly connected, Loopback0
D 173.16.0.0/16 is a summary, 00:00:03, Null0
C 173.16.1.64/28 is directly connected, Loopback1
Where are the routes to 173.16.1.16 and 173.16.1.32? We have succeeded in confusing EIGRP. EIGRP automatically summarizes networks in the routing update. Both router r1 and r2 are advertising that they can reach network 173.16.0.0. Who is correct? They both are! This demonstrates the behavior of EIGRP when we have subnets of the same network on different routers and the fact that EIGRP is automatically summarizing the routes. For this scenario we need to disable automatic route summarization. This is a good time to introduce the EIGRP routing commands since the first one deals with route summarization. These commands can be listed by entering EIGRP configuration mode and typing a question mark.
r1(config)#router eigrp 100
r1(config-router)#?
Router configuration commands:
auto-summary Enable automatic network number summarization
default-information Control distribution of default information
default-metric Set metric of redistributed routes
distance Define an administrative distance
distribute-list Filter networks in routing updates
eigrp EIGRP specific commands
exit Exit from routing protocol configuration mode
help Description of the interactive help system
maximum-paths Forward packets over multiple paths
metric Modify IGRP routing metrics and parameters
neighbor Specify a neighbor router
network Enable routing on an IP network
no Negate or set default values of a command
passive-interface Suppress routing updates on an interface
redistribute Redistribute information from another routing protocol
timers Adjust routing timers
traffic-share Algorithm for computing traffic share for alternate routes
variance Control load balancing variance
Command: auto-summary
Purpose: Enable automatic network number summarization.
This default feature of EIGRP caused problems with the network in figure 10.4. Automatic route summarization can be disabled on routers r1 and r2 by using the command no auto-summary in router configuration mode.
r1(config)#router eigrp 100
r1(config-router)#no auto-summary
r1(config-router)#^Z
r2(config)#router eigrp 100
r2(config-router)#no aut
r2(config-router)#no auto-summary
r2(config-router)#^Z
With automatically route summarization disabled the routing tables for r1 and r2 contain routes to all the subnetworks.
r1#show ip route
172.16.0.0/16 is subnetted, 1 subnets
C 172.16.3.0 is directly connected, FastEthernet8/0
173.16.0.0/16 is subnetted, 4 subnets
D 173.16.1.48 [90/156160] via 172.16.3.2, 00:00:13, Ethernet0
C 173.16.1.32 is directly connected, Loopback1
C 173.16.1.16 is directly connected, Loopback0
D 173.16.1.64 [90/156160] via 172.16.3.2, 00:00:13, Ethernet0
r2#sh ip route
172.16.0.0/16 is subnetted, 1 subnets
C 172.16.3.0 is directly connected, FastEthernet0/0
173.16.0.0/16 is subnetted, 4 subnets
C 173.16.1.48 is directly connected, Loopback0
D 173.16.1.32 [90/156160] via 172.16.3.1, 00:01:02, FastEthernet0/0
D 173.16.1.16 [90/156160] via 172.16.3.1, 00:01:02, FastEthernet0/0
C 173.16.1.64 is directly connected, Loopback1
Route summarization is beneficial because the size of the routing updates is reduced thereby reducing the bandwidth requirements, but as we have seen route summarization does not produce the desired result for all scenarios. The network configuration shown in figure 10.1 will be used to illustrate the remaining EIGRP commands.
Command: default-information
Purpose: Control distribution of default information
This command is covered in chapter 13, Route redistribution.
Command: default-metric
Purpose: A router may be running more that one IP routing protocol (RIP, IGRP, EIGRP or OSPF). Each routing protocol has a different metric, for example RIP has a hop count, OSPF has a dimensionless cost and EIGRP has a cost based on five metrics. When injecting routes from one routing protocol to another, the route metric needs to be converted from one protocol to another. The default-metric command is used to perform this conversion. This will be covered in detail in chapter 13.
Command: distance
Purpose: Used to adjust the administrative distance of a route.
r2(config)#router eigrp 100
r2(config-router)#distance ?
<1-255> Administrative distance
eigrp IP-EIGRP distance
Enter an administrative distance in the range 1 255. The default for EIGRP is 90. The administrative distance is used when more than one routing protocol is active on a router. For example, if we are running EIGRP and RIP and each protocol has a route to the same network the EIGRP route would be preferred because EIGRP has a lower administrative distance (90) than RIP (120). We can force the EIGRP route to not be chosen by setting the administrative distance to be higher than that for RIP.
r2(config-router)#distance 130 ?
A.B.C.D IP Source address
(Notice that we dont have the <cr> option that we had with RIP and IGRP)
r2(config-router)#distance 130 172.16.0.0 ?
A.B.C.D IP address mask
r2(config-router)#distance 130 172.16.0.0 0.0.255.255 ?
<1-99> IP Standard access list number
eigrp IP-EIGRP distance
<cr>.
Entering <cr> will apply the new administrative distance only to network 172.16.0.0. Notice that the IP address mask is the "reverse" of what is used for a subnet mask. This is the same style used for IP access-lists that were discussed in chapter 7. Since r2 is only learning about network 172.16.0.0 from r1, this has the same effect as applying the administrative distance to all networks learned from EIGRP.
r2#show ip route
172.16.0.0/16 is subnetted, 5 subnets
C 172.16.4.0 is directly connected, Loopback0
C 172.16.5.0 is directly connected, Loopback1
D 172.16.1.0 [130/156160] via 172.16.3.1, 00:00:02, Ethernet0
D 172.16.2.0 [130/156160] via 172.16.3.1, 00:00:02, Ethernet0
C 172.16.3.0 is directly connected, Ethernet0
Finally, we can choose the routes that will have their administrative distance modified through the use of an IP access-list. Assume we want to change the administrative distance of the route to 172.16.1.0 to 130 but not affect the route to 172.16.2.0. First we would use the EIGRP command
r2(config-router)#distance 130 172.16.0.0 0.0.255.255 ?
<1-99> IP Standard access list number
eigrp IP-EIGRP distance
<cr>
r2(config-router)#distance 130 172.16.0.0 0.0.255.255 1 ?
<cr>
r2(config-router)#distance 130 172.16.0.0 0.0.255.255 1
r2(config-router)#^Z
The final step is to create an IP access-list that informs EIGRP to adjust the administrative distance of 172.16.1.0 but leave the administrative distance of 172.16.2.0 set to 90. Without an access-list but with the distance command shown above, all the routes learned for network 172.16.0.0 will have their administrative distance set to 130 as shown. This is the default behavior.
r2#clear ip route *
r2#show ip route
172.16.0.0/16 is subnetted, 5 subnets
C 172.16.4.0 is directly connected, Loopback0
C 172.16.5.0 is directly connected, Loopback1
D 172.16.1.0 [130/156160] via 172.16.3.1, 00:00:01, FastEthernet0/0
D 172.16.2.0 [130/156160] via 172.16.3.1, 00:00:01, FastEthernet0/0
C 172.16.3.0 is directly connected, FastEthernet0/0
The access-list needed to adjust only the 172.16.1.0 is
r2(config)#access-list 1 ?
deny Specify packets to reject
permit Specify packets to forward
r2(config)#access-list 1 permit ?
Hostname or A.B.C.D Address to match
any Any source host
host A single host address
r2(config)#access-list 1 permit 172.16.1.0 0.0.0.225 ?
<cr>
r2(config)#access-list 1 permit 172.16.1.0 0.0.0.225
r2(config)#^Z
Notice that we did not have to use a permit any statement at the end of the access-list. A normal IP access-list always has an implicit deny any as the last statement. This is true in this case but the administrative distance is only affected for those routes that have a matching permit statement, so in the case the implicit deny any in the access-list has no effect. The new IP routing table contains
r2#clear ip route *
r2#sh ip route
172.16.0.0/16 is subnetted, 5 subnets
C 172.16.4.0 is directly connected, Loopback0
C 172.16.5.0 is directly connected, Loopback1
D 172.16.1.0 [130/156160] via 172.16.3.1, 00:00:01, FastEthernet0/0
D 172.16.2.0 [90/156160] via 172.16.3.1, 00:00:01, FastEthernet0/0
C 172.16.3.0 is directly connected, FastEthernet0/0
Notice that route 172.16.1.0 is the only route that has an adjusted administrative distance.
If we want to set the administrative distance of 172.16.1.0 to 130 and the administrative distance of 172.16.2.0 to 140, can we use two distance commands with two access lists? Sometimes. When we enter the second distance command under EIGRP configuration, the second distance command will overwrite the first. We can have two distance commands if the major networks are different. In summary, we can set the administrative distance of any number of routes on the same major network to any value between 1 and 255, but it has to be the same value. Only those routes that are permitted in the access-list will have their administrative distance modified.
Another form of the distance command of EIGRP is to adjust internal and external routes as shown.
r2(config-router)#distance ?
<1-255> Administrative distance
eigrp IP-EIGRP distance
r2(config-router)#distance eigrp ?
<1-255> Distance for internal routes
r2(config-router)#distance eigrp 130 ?
<1-255> Distance for external routes
r2(config-router)#distance eigrp 130 90 ?
<cr>
r2(config-router)#distance eigrp 130 90
This form of the distance command for external routes is covered in chapter 13, Route Redistribution. This form can also be used to adjust the distance of the internal routes by using
r2(config-router)#distance eigrp 130 90
This will set the distance of all of our routes to 130 since our routes are all internal routes. The previous form of the distance command using access-lists is more flexible since it can be used to adjust particular routes. If we use both forms of the distance command, the first form takes precedence over the distance eigrp command. For example, assume we have the following configuration on r2.
router eigrp 100
network 172.16.0.0
distance eigrp 115 62
distance 130 172.16.0.0 0.0.255.255
Router r2s routing table will contain
r2#show ip route
172.16.0.0/16 is subnetted, 5 subnets
C 172.16.4.0 is directly connected, Loopback0
C 172.16.5.0 is directly connected, Loopback1
D 172.16.1.0 [130/156160] via 172.16.3.1, 00:00:01, FastEthernet0/0
D 172.16.2.0 [130/156160] via 172.16.3.1, 00:00:01, FastEthernet0/0
C 172.16.3.0 is directly connected, FastEthernet0/0
Command: distribute-list
Purpose: Used to filter incoming or outgoing routing updates.
A distribute list is used to delete routes from either incoming or outgoing EIGRP updates. Assume router r2 wants to delete network 172.16.1.0 that is being advertised by r1. First we need to assign a distribute-list to the EIGRP process on router r2.
We can either use a standard or an extended IP access-list, which gives us many possibilities.
r2(config)#router eigrp 100
r2(config-router)#distribute-list ?
<1-199> A standard IP access list number
r2(config-router)#distribute-list 1 ?
in Filter incoming routing updates
out Filter outgoing routing updates
r2(config-router)#distribute-list 1 in ?
Ethernet Ethernet IEEE 802.3
Loopback Loopback interface
Null Null interface
<cr>
r2(config-router)#^Z
Now create the access-list to block the 172.16.1.0 route.
access-list 1 deny 172.16.1.0 0.0.0.255
access-list 1 permit any
We need the permit any statement in a distribute list otherwise the implicit deny all at the end of the list would filter out all routes learned overall all interfaces. The routing table for r2 now contains
r2#clear ip route *
r2#show ip route
172.16.0.0/16 is subnetted, 4 subnets
C 172.16.4.0 is directly connected, Loopback0
C 172.16.5.0 is directly connected, Loopback1
D 172.16.2.0 [90/156160] via 172.16.3.1, 00:00:01, Ethernet0
C 172.16.3.0 is directly connected, Ethernet0
Notice that the 172.16.1.0 route from r1 has been filtered. The access-list(s) that are configured for EIGRP can be seen by listing the configuration or by using the command show ip protocols.
r2#show ip protocols
Routing Protocol is "eigrp 100"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is 1
Default networks flagged in outgoing updates
Default networks accepted from incoming updates
EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
EIGRP maximum hopcount 100
EIGRP maximum metric variance 1
Redistributing: eigrp 100, igrp 100
Automatic network summarization is in effect
Routing for Networks:
172.16.0.0
Routing Information Sources:
Gateway Distance Last Update
172.16.3.1 90 00:01:00
Distance: internal 90 external 170
r2(config)#router eigrp 100
r2(config-router)#distribute-list ?
<1-199> A standard IP access list number
r2(config-router)#distribute-list 100 ?
in Filter incoming routing updates
out Filter outgoing routing updates
r2(config-router)#distribute-list 1 in ?
Ethernet Ethernet IEEE 802.3
Loopback Loopback interface
Null Null interface
<cr>
r2(config-router)#^Z
access-list 100 deny ip any 172.16.1.0 0.0.0.255
access-list 100 permit ip any any
Notice that the route to block is listed as the destination address in the access-list and not the source address.
r2(config)#router eigrp 100
r2(config-router)#distribute-list 1 in ?
Ethernet Ethernet IEEE 802.3
Loopback Loopback interface
Null Null interface
<cr>
r2(config-router)#distribute-list 1 in ethernet ?
<0-1> Ethernet interface number
r2(config-router)#distribute-list 1 in ethernet 0 ?
<cr>
r2(config-router)#distribute-list 1 in ethernet 0/0
r2(config-router)#^Z
We can filter routes through a specific interface. If the route advertisement is learned through a different interface it will not be filtered.
r2(config)#router eigrp 100
r2(config-router)#distribute-list 1 in ?
Ethernet Ethernet IEEE 802.3
Loopback Loopback interface
Null Null interface
<cr>
r2(config-router)#distribute-list 1 in ethernet ?
<0-1> Ethernet interface number
r2(config-router)#distribute-list 1 in ethernet 0 ?
<cr>
r2(config-router)#distribute-list 1 in ethernet 0
r2(config-router)#^Z
For examples 3 and 4 the access-lists did not need to be modified from examples 1 and 2.
To filter outgoing route advertisements the distribute-list would be applied as an outgoing instead of as an incoming list. This also gives us four possibilities for filtering. For the examples assume that r2 wants to block the route to 172.16.4.1 in figure 10.1 so that r1 does not receive it.
1. Block the 172.16.4.0 route going out any interface using a standard IP access-list.
r2(config)#router eigrp 100
r2(config-router)#distribute-list 1 ?
in Filter incoming routing updates
out Filter outgoing routing updates
r2(config-router)#distribute-list 1 out ?
Ethernet Ethernet IEEE 802.3
Loopback Loopback interface
Null Null interface
Bgp Border Gateway Protocol (BGP)
Connected Connected
Egp Exterior Gateway Protocol (EGP)
Eigrp Enhanced Interior Gateway Routing Protocol (EIGRP)
Igrp Interior Gateway Routing Protocol (IGRP)
Isis ISO IS-IS
iso-igrp IGRP for OSI networks
ospf Open Shortest Path First (OSPF)
rip Routing Information Protocol (RIP)
static Static routes
<cr>
r2(config-router)#distribute-list 1 out
r2(config-router)#^Z
There are many more selections available for outbound filters than for inbound. These additional choices are covered in chapter 13, Route Redistribution. The access-list for example one would contain
access-list 1 deny 172.16.4.0 0.0.0.255
access-list 1 permit any
The route 172.16.4.0 will not be contained in r1s routing table after the filter has been applied.
r1#sh ip route
172.16.0.0/16 is subnetted, 4 subnets
D 172.16.5.0 [90/156160] via 172.16.3.2, 00:00:42, FastEthernet8/0
C 172.16.1.0 is directly connected, Loopback0
C 172.16.2.0 is directly connected, Loopback1
C 172.16.3.0 is directly connected, FastEthernet8/0
The applied access-list can be shown using the show ip protocols command.
r2#show ip protocols
Routing Protocol is "eigrp 100"
Outgoing update filter list for all interfaces is 1
Incoming update filter list for all interfaces is not set
Default networks flagged in outgoing updates
Default networks accepted from incoming updates
EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
EIGRP maximum hopcount 100
EIGRP maximum metric variance 1
Redistributing: eigrp 100, igrp 100
Automatic network summarization is in effect
Routing for Networks:
172.16.0.0
Routing Information Sources:
Gateway Distance Last Update
172.16.3.1 90 00:01:19
Distance: internal 90 external 170
2. Block the 172.16.4.0 route going out any interface using an extended IP access-list.
r2(config)#router eigrp 100
r2(config-router)#distribute-list 100 out
r2(config-router)#^Z
access-list 100 deny ip any 172.16.4.0 0.0.0.255
access-list 100 permit ip any any
r2(config)#router eigrp 100
r2(config-router)#distribute-list 1 out
r2(config-router)#distribute-list 1 out Ethernet 0
r2(config-router)#^Z
access-list 1 deny 172.16.4.0 0.0.0.255
access-list 1 permit any
r2(config)#router eigrp 100
r2(config-router)#distribute-list 1 out
r2(config-router)#distribute-list 1 out Ethernet 0
r2(config-router)#^Z
access-list 1 deny 172.16.4.0 0.0.0.255
access-list 1 permit any
Command: Exit
Purpose: Exit router configuration mode and enter global configuration mode.
r2(config)#router eigrp 100
r2(config-router)#exit
r2(config)#
Command: Help
Purpose: Get help on help
r2(config)#router eigrp 100
r2(config-router)#help
Help may be requested at any point in a command by entering
a question mark '?'. If nothing matches, the help list will
be empty and you must backup until entering a '?' shows the
available options.
Two styles of help are provided:
1. Full help is available when you are ready to enter a
command argument (e.g. 'show ?') and describes each possible
argument.
2. Partial help is provided when an abbreviated argument is entered
and you want to know what arguments match the input
(e.g. 'show pr?'.)
Command: maximum-paths
Purpose: Forward packets over multiple paths
EIGRP can distribute traffic on up to 6 different paths. See the traffic-share command for further details.
r2(config)#router eigrp 100
r2(config-router)#max
r2(config-router)#maximum-paths ?
<1-6> Number of paths
r2(config-router)#maximum-paths 3 ?
<cr>
Command: neighbor
Purpose: Specify a neighbor on a non-broadcast network.
For NBMA networks such as X.25 and frame-relay additional configuration information is needed to propagate EIGRP routing updates. The neighbor command would be needed in order for EIGRP updates to cross a frame-relay cloud.
Command: Network
Purpose: To inform EIGRP which networks to advertise and out which interfaces to advertise. Any active interface that has an IP address that is contained in the network command will be used to send and receive EIGRP routing updates.
Command: No
Purpose: Used to negate configuration commands.
The no command is used to undo previous configuration commands. If we decide for example, not to advertise a network, remove a distribution list, or remove an administrative distance modifier we would use the no command.
r1(config)#router eigrp 100
r1(config-router)#no network 172.16.0.0
r1(config-router)#no distribute-list 100 out
r1(config-router)#no distance 130
r1(config-router)#^Z
Command: passive-interface
Purpose: Suppress routing updates on an interface.
The passive-interface command stops routing updates from being sent or received (processed) on an interface. Interfaces that have been configured as passive can be shown with the show ip protocols command.
r1#show ip protocols
Routing Protocol is "eigrp 100"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Default networks flagged in outgoing updates
Default networks accepted from incoming updates
EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
EIGRP maximum hopcount 100
EIGRP maximum metric variance 1
Redistributing: eigrp 100
Automatic network summarization is in effect
Routing for Networks:
172.16.0.0
Passive Interface(s):
Ethernet0
Routing Information Sources:
Gateway Distance Last Update
(this router) 5 00:05:25
172.16.3.2 90 00:05:18
Distance: internal 90 external 170
Since EIGRP does not send routing updates as a broadcast, the passive-interface used in conjunction with the neighbor command will not allow EIGRP to receive routing updates like we have seen with RIP and IGRP. Making an interface passive blocks the EIGRP hello protocol preventing a neighbor relationship from being established on the interface. This has the affect of blocking the incoming routing updates since they are only sent to neighbors.
Command: redistribute
Purpose: Redistribute information from another routing protocol.
This command is covered in chapter 13, Protocol Redistribution.
Command: timers
Purpose: Adjust routing timers.
The EIGRP timers can be viewed by using the command show ip protocols and shown below.
r2(config)#router eigrp 100
r2(config-router)#timers ?
active-time EIGRP time limit for active state
r2(config-router)#timers active-time ?
<1-4294967295> EIGRP active-state time limit in minutes
disabled disable EIGRP time limit for active state
<cr>
r2(config-router)#timers active-time 100 ?
<cr>
r2(config-router)#timers active-time disabled ?
<cr>
Command: traffic-share
Purpose: Algorithm for computing traffic share for alternate routes.
When multiple unequal cost routes exist to the same destination network, the traffic-share command controls how packets are distributed among the different paths. There are two possibilities for traffic-share, balanced and minimum. Balanced mode will distribute traffic in proportion to the metrics of the routes. The min traffic-share option will only use the routes that have minimum costs. The default for traffic-share is balanced.
r2(config-router)#traffic-share ?
balanced Share inversely proportional to metric
min All traffic shared among min metric paths
r2(config-router)#traffic-share balanced
or
r2(config-router)#traffic-share min ?
Command: Variance
Purpose: Control load balancing variance.
EIGRP can have up to six routes to the same destination in the routing table. Multiple routes to the same destination will only be installed in the routing table if there cost, or metric, passes a test which will be illustrated with figure 10.5.
Router r1 in figure 10.5 has two routes to network 172.16.0.0. The first route is directly to router r2 will a cost of a. The second route is through router r2 with a cost of b. Router r1 will include the route through r2 if two conditions are met.
Needless to say, you wont be making many changes to the variance! But if you must, the command is given below.
r2(config-router)#variance ?
<1-128> Metric variance multiplier
r2(config-router)#variance 2 ?
<cr>
r2(config-router)#variance ?
<1-128> Metric variance multiplier
r2(config-router)#variance 2 ?
<cr>
EIGRP Interface Commands
Command: ip hello-interval eigrp
Purpose: Used to adjust the EIGRP hello protocol interval on an interface.
Default: 60 seconds for NBMA networks
5 seconds for other networks
r1(config)#interface ethernet 0
r1(config-if)#ip hello-interval ?
eigrp Enhanced Interior Gateway Routing Protocol (EIGRP)
r1(config-if)#ip hello-interval eigrp ?
<1-65535> Autonomous system number
r1(config-if)#ip hello-interval eigrp 100 ?
<1-65535> Seconds between hello transmissions
r1(config-if)#ip hello-interval eigrp 100 10 ?
<cr>
Command: ip hold-time eigrp
Purpose: Used to adjust the EIGRP hold-time on an interface.
Default: 180 seconds for NBMA networks
15 seconds for other networks.
r1(config-if)#ip hold-time ?
eigrp Enhanced Interior Gateway Routing Protocol (EIGRP)
r1(config-if)#ip hold-time eigrp ?
<1-65535> Autonomous system number
r1(config-if)#ip hold-time eigrp 100 ?
<1-65535> Seconds before neighbor is considered down
r1(config-if)#ip hold-time eigrp 100 30
<cr>
Command: ip split-horizon or no ip split-horizon
Purpose: Used to enable or disable EIGRP split-horizon on an interface.
Default: enabled
r1(config-if)#ip split-horizon ?
eigrp Enhanced Interior Gateway Routing Protocol (EIGRP)
<cr>
r1(config-if)#ip split-horizon eigrp ?
<1-65535> Autonomous system number
r1(config-if)#ip split-horizon eigrp 100 ?
<cr>
EIGRP show Command Summary
r1#show ip eigrp ?
neighbors IP-EIGRP Neighbors
topology IP-EIGRP Topology Table
traffic IP-EIGRP Traffic Statistics
r1#show ip eigrp neighbors ?
<1-65535> AS Number
Ethernet Ethernet IEEE 802.3
Loopback Loopback interface
Null Null interface
detail Show detailed peer information
<cr>
r1#show ip eigrp neighbors
IP-EIGRP Neighbors for process 100
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) (ms) Cnt Num
2 172.16.3.2 E0 14 00:41:26 4 20 0 21
1 172.16.2.1 Lo1 12 00:41:28 2 20 0 68
0 172.16.1.1 Lo0 12 00:41:28 2 20 0 67
Hold length of time that EIGRP will wait before declaring a neighbor down.
Uptime Elapsed amount of time since last hearing from the neighbor.
Q Cnt Number of packets waiting to be sent
SRTT Smooth round-trip time. The time it takes to send a packet to the neighbor and receive an acknowledgement.
RTO Retransmission time.
r1#show ip eigrp topology ?
<1-65535> AS Number
A.B.C.D Network to display information about
active Show only active entries
all-links Show all links in topology table
zero-successors Show only zero successor entries
<cr>
IP-EIGRP Topology Table for process 100
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - Reply status
P 172.16.4.0/24, 1 successors, FD is 156160
via 172.16.3.2 (156160/128256), Ethernet0
P 172.16.5.0/24, 1 successors, FD is 156160
via 172.16.3.2 (156160/128256), Ethernet0
P 172.16.1.0/24, 1 successors, FD is 128256
via Connected, Loopback0
P 172.16.2.0/24, 1 successors, FD is 128256
via Connected, Loopback1
P 172.16.3.0/24, 1 successors, FD is 28160
via Connected, Ethernet0
r1#show ip eigrp traffic
IP-EIGRP Traffic Statistics for process 100
Hellos sent/received: 4303/4899
Updates sent/received: 47/54
Queries sent/received: 11/10
Replies sent/received: 10/12
Acks sent/received: 67/63
Debugging EIGRP
The network in Figure 10.1 is used to illustrate the EIGRP debugging commands. There are many commands that can be used for debugging EIGRP and they are summarized below
#debug ip eigrp ?
<1-65535> AS number
neighbor IP-EIGRP neighbor debugging
notifications IP-EIGRP event notifications
summary IP-EIGRP summary route processing
<cr>
r1#debug ip eigrp 100 ?
A.B.C.D IP address
<cr>
r1#debug ip eigrp 100 172.16.0.0 ?
A.B.C.D IP mask
<cr>
r1#debug ip eigrp 100 172.16.0.0 0.0.255.255 ?
<cr>
r1#debug ip eigrp 100 172.16.0.0 0.0.255.255
IP Target enabled on AS 100 for 172.16.0.0 0xFFFF
r1#debug ip eigrp ?
<1-65535> AS number
neighbor IP-EIGRP neighbor debugging
notifications IP-EIGRP event notifications
summary IP-EIGRP summary route processing
<cr>
r1#debug ip eigrp nei
r1#debug ip eigrp neighbor ?
<1-65535> AS number
r1#debug ip eigrp neighbor 100 ?
A.B.C.D IP address
r1#debug ip eigrp neighbor 100 172.16.0.0 ?
<cr>
r1#debug ip eigrp neighbor 100 172.16.0.0
IP Neighbor target enabled on AS 100 for 172.16.0.0
r1#debug ip eigrp ?
<1-65535> AS number
neighbor IP-EIGRP neighbor debugging
notifications IP-EIGRP event notifications
summary IP-EIGRP summary route processing
<cr>
r1#debug ip eigrp no
r1#debug ip eigrp notifications ?
<cr>
r1#debug ip eigrp notifications
IP-EIGRP Event notification debugging is on
r1#debug ip eigrp ?
<1-65535> AS number
neighbor IP-EIGRP neighbor debugging
notifications IP-EIGRP event notifications
summary IP-EIGRP summary route processing
<cr>
r1#debug ip eigrp sum
r1#debug ip eigrp summary ?
<cr>
r1#debug ip eigrp summary
IP-EIGRP Summary route processing debugging is on
![]() ![]() Chapter: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
Reserve your copy at a Beta Bookstore near you! |
Contact Bet@books © 1998 The McGraw-Hill Companies, Inc. All rights reserved. Any use of this Beta Book is subject to the rules stated in the Terms of Use. |